package com.peaksport.framework.metadata.venum;

import com.peaksport.framework.exception.PKDevException;

/**
 * FilterItemInfo的compareValue值类型
 * 
 * @author jinbin_guo  2019年4月16日 上午9:09:42
 *
 */
public enum ValueTypeEnum {
    INT("int"),DATE("date"),STRING("string"),DECIMAL("decimal"),BOOLEAN("boolean")
    ,SQL("sql"),LIST("list"),ENUM("enum");

    private String value;
    private ValueTypeEnum(String value) {
        this.value = value;
    }

    public String getValue() {
        return value;
    }

    public static ValueTypeEnum get(String valueTypeValue) {
        if (valueTypeValue == null) return null;
        else if ("int".equalsIgnoreCase(valueTypeValue))  return INT;
        else if ("date".equalsIgnoreCase(valueTypeValue)) return DATE;
        else if ("string".equalsIgnoreCase(valueTypeValue)) return STRING;
        else if ("decimal".equalsIgnoreCase(valueTypeValue)) return DECIMAL ;
        else if ("boolean".equalsIgnoreCase(valueTypeValue)) return BOOLEAN;
        else if ("sql".equalsIgnoreCase(valueTypeValue)) return SQL;
        else if ("list".equalsIgnoreCase(valueTypeValue)) return LIST;
        else if ("enum".equalsIgnoreCase(valueTypeValue))return ENUM;
        else throw PKDevException.throwException("暂未支持的值类型的枚举值[%s],请联系统管理人员.", valueTypeValue);
    }

    @Override
    public String toString() {
        return value;
    }
}
